﻿using SupportLayer.Enums;
using SupportLayer.Objetos.Espacamento;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace SupportLayer.Util.ExtensionMethods
{
  public static class Strings
  {
    public static List<EspacamentoClass> GetEspacamentos(this string _mensagem, AlturaLetra _altura, string _fonte)
    {
      int Width = 0;
      Espacamento esp = new Espacamento();
      return esp.GetEspacamentoLetras(_mensagem, _altura, _fonte, out Width);
    }

    public static bool isValidEmail(this string email)
    {
      Regex regEx = new Regex(@"^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$", RegexOptions.IgnoreCase);
      return regEx.IsMatch(email);
    }

    public static bool isValidPhoneNumber(this string number)
    {
      Regex regEx = new Regex(@"^[0-9]{2}[0-9]{4}-[0-9]{4}$", RegexOptions.IgnoreCase);
      if (!regEx.IsMatch(number))
        regEx = new Regex(@"^([0-9]{2})[0-9]{4}-[0-9]{5}$", RegexOptions.IgnoreCase);
      return regEx.IsMatch(number);
    }

    public static bool HasUpperCase(this string str)
    {
      return !string.IsNullOrEmpty(str) && str.Any(c => char.IsUpper(c));
    }
  }
}